/**
  * Author: Mei
  * Date: 2020-12-09 19:27
  * Description: =default  =delete
  *
  * 主要用在具有继承关系的类上  比如子类的构造方法想调用父类的构造方法
  *
  * 一个类只要带有指针类型的成员，需要自己定义  如果不是 可以直接使用默认的即可
  *
  */
#include <vector>
#include <iostream>
#include <bitset>
#include <algorithm>

using namespace std;

class Zoo {
private:
    int d1, d2;
public:
    Zoo(int i, int i1) : d1(i), d2(i1) {}

    Zoo(const Zoo &) = delete; //表示这个函数不能被调用 复制构造函数只能有一个

    Zoo(Zoo &&) = default; //加了default就是要使用编译器自带的构造函数

    Zoo &operator=(const Zoo &) = default;

    Zoo &operator=(const Zoo &&) = delete;
};

int main() {
    /**
     * default只能用在big-five五类的函数上面  普通的成员函数没有意义
     * delete可以用在任何的函数上面
     *
     */

    return 0;
}